
package com.hc.service;

import java.util.List;

import com.hc.domain.Nodes;

public interface INodesService {
	/**
	 * 
	 * @Description： 通过用户id获取用户所能查看节点
	 * @param id
	 * @return
	 * @author:  
	 * @since: 2017年5月11日 上午10:52:57
	 */
	List<Nodes> getNodesByAdminId(int id);
	/**
	 * 
	 * @Description： 通过用户id以及父节点id获取当前用户能看到的节点
	 * @param i
	 * @param id
	 * @return
	 * @author:  
	 * @since: 2017年5月11日 下午12:07:20
	 */
	List<Nodes> getNodesByAdminIdAndParentId(int i, int id);
	/**
	 * 
	 * @Description： 通过父节点id获取菜单节点
	 * @param i
	 * @return
	 * @author:  
	 * @since: 2017年6月20日 下午2:50:05
	 */
	List<Nodes> getNodesByParentId(int parentId);
	/**
	 * 
	 * @Description： 保存或更新
	 * @param node
	 * @author:  
	 * @since: 2017年6月21日 下午4:48:42
	 */
	void updateOrSave(Nodes node);
	/**
	 * 
	 * @Description： 通过id主键获取
	 * @param id
	 * @return
	 * @author:  
	 * @since: 2017年6月21日 下午5:35:32
	 */
	Nodes getNodesById(int id);
	/**
	 * 
	 * @Description： 删除一条数据
	 * @param node
	 * @author:  
	 * @since: 2017年6月21日 下午5:39:29
	 */
	void deleteNode(Nodes node);
	/**
	 * 
	 * @Description： 删除节点同时删除对应存在权限的用户权限
	 * @param node
	 * @author:  
	 * @since: 2017年6月22日 下午12:23:16
	 */
	void deleteNodeAndAuth(Nodes node);
	/**
	 * 
	 * @Description： 通过角色Id查看该角色Id所能查看的所有节点
	 * @param roleId
	 * @return
	 * @author:  
	 * @since: 2017年6月22日 下午3:25:23
	 */
	List<Nodes> getNodesByRoleId(int roleId);
	/**
	 * 
	 * @Description： 获取所有节点
	 * @return
	 * @author:  
	 * @since: 2017年6月22日 下午3:36:43
	 */
	List<Nodes> findAll();

}

